package cn.liziguo.tank.util;

import com.almasb.fxgl.entity.Entity;

import java.util.Collection;

/**
 * @author Liziguo
 * @date 2022-07-09 16:23:16
 */
public final class CollidingUtils {

    /**
     * 判断两个游戏对象是否发送碰撞
     *
     * @param entity  实体
     * @param entity1 实体
     * @return 如果碰撞返回true
     */
    public static boolean isColliding(Entity entity, Entity entity1) {
        return entity != entity1 && entity.isColliding(entity1);
    }

    /**
     * 判断entity是否和entities里的任意一个元素发送碰撞
     *
     * @param entity   实体
     * @param entities 实体
     * @return 如果碰撞就返回第一个检测到的元素 否则返回null
     */
    public static Entity isColliding(Entity entity, Collection<Entity> entities) {
        for (Entity e : entities) {
            if (entity != e && entity.isColliding(e)) {
                return e;
            }
        }
        return null;
    }
}
